密碼學一詞源自希臘文中的 kryptós (隱藏的) 與 gráphein(書寫)
意思就是用別人看不懂的方式將資料寫下來
但是要怎麼讓別人看不懂呢?
這就要將原本的資料進行一些轉換
而這些轉換的過程用到的就是一些數學技巧
因此
密碼學就是大量的數學、超難的數學、氣死人的數學、玄學的數學...
在密碼學的分類中
有一個重要的時間點將整個領域的技術一分為二
那就是電腦的出現
其分為
在古典密碼中,人們靠著那顆天馬行空的大腦
利用 "創造力" 與 "特殊技巧"
想出千奇百怪的加密方式
而這些密碼加密與解密的過程都不會太複雜
只要能通靈出發想者的想法
你就能得出他解密的方式
到了這邊
人們的生活中出現了電腦
在有著與人腦不同的龐大運算力之後
密碼學的方向開始朝著大量的計算與數學模型
其過程幾乎是人腦無法與之抗衡的
這時期出來的密碼學著名的就是大家都聽過的哈希 (Hash)
其特性為不可逆
通常被拿來當作驗證使用
會有這個欄位是因為在密碼學中有許多對資料操作的專有名詞大家常常搞混或亂用
因此特別拉出來說一下XD
明文 plaintext
密文 cipertext
加密 encrpto
解密 decrypt
金鑰/密鑰 key
編碼 encode
解碼 decode
編碼與加密不同
編碼有一種固定的方式將資料做轉換
中間不須透過任何密鑰
因此只要知道該字串的某些特徵
一定能將其解碼